Benjamin Otte [Fri, 9 Feb 2018 00:06:59 +0000 (01:06 +0100)]
inspector: Remove gtk.h include
Benjamin Otte [Fri, 9 Feb 2018 00:02:06 +0000 (01:02 +0100)]
a11y: Remove gtk.h include from iconview header
Benjamin Otte [Thu, 8 Feb 2018 23:58:59 +0000 (00:58 +0100)]
a11y: Remove gtk.h include from lockbutton
Benjamin Otte [Thu, 8 Feb 2018 23:56:26 +0000 (00:56 +0100)]
a11y: Remove gtk/h include from menu header
Benjamin Otte [Thu, 8 Feb 2018 23:52:44 +0000 (00:52 +0100)]
a11y: Remove gtk.h include from listbox headers
Benjamin Otte [Thu, 8 Feb 2018 23:47:58 +0000 (00:47 +0100)]
a11y: Remove gtk.h from flowbox includes
Benjamin Otte [Thu, 8 Feb 2018 23:42:38 +0000 (00:42 +0100)]
a11y: Remove gtk.h include from container accessible
Benjamin Otte [Thu, 8 Feb 2018 22:39:17 +0000 (23:39 +0100)]
a11y: Remove gtk.h include
Benjamin Otte [Thu, 8 Feb 2018 13:39:45 +0000 (14:39 +0100)]
a11y: Don't include gtk.h
Also add missing includes and sort them for all the widgets that relied
on that before.
Emmanuele Bassi [Thu, 8 Feb 2018 14:10:20 +0000 (14:10 +0000)]
docs: Link to the compiler requirements wiki page
From the README file.
Emmanuele Bassi [Thu, 8 Feb 2018 14:11:12 +0000 (14:11 +0000)]
Rename the project's DOAP file
We need its name to match the repository's name.
Benjamin Otte [Thu, 8 Feb 2018 05:15:10 +0000 (06:15 +0100)]
shortcuts: Don't include gtk.h
Clean up all shortcuts includes to only include the necessary files
while we're at it.
Benjamin Otte [Thu, 8 Feb 2018 03:31:05 +0000 (04:31 +0100)]
pointerfocus: Don't include gtk.h
Also fix up gtktypes.h to include the required glib.h for G_BEGIN_DECLS
and gtkdnd.c to include missing includes.
Matthias Clasen [Wed, 7 Feb 2018 20:13:31 +0000 (15:13 -0500)]
Drop event filters from the docs
No longer public API.
Matthias Clasen [Wed, 7 Feb 2018 05:00:01 +0000 (00:00 -0500)]
Remove gdk_window_add_filter
Drop the public filtering API. The x11 backend already has
the ::xevent signal as replacement. The win32 backend needs
a similar signal to replace filtering.
Reshuffle header inclusions in the x11 backend a little bit
to avoid a cyclic inclusion between gdkprivate-x11.h and
gdkdisplay-x11.h that is otherwise causing problems.
Matthias Clasen [Wed, 7 Feb 2018 03:10:43 +0000 (22:10 -0500)]
x11: Don't use gdk_window_add_filter
This function is going away.
Emmanuele Bassi [Wed, 7 Feb 2018 15:01:25 +0000 (15:01 +0000)]
docs: Update header rules in the coding style
- Make the rules for including headers explicit
- Make the symbol visibility rules explicit, and drop the
old "leading underscore" hack
- Drop Private data structure declarations and priv pointers
from public headers
- Mention G_DECLARE_* macros
- Mention `#pragma once`
Timm Bäder [Tue, 6 Feb 2018 10:49:23 +0000 (11:49 +0100)]
cellrendereraccel: unref sizing_label
Timm Bäder [Tue, 6 Feb 2018 10:26:47 +0000 (11:26 +0100)]
build: install gsk-autocleanup.h
Timm Bäder [Tue, 6 Feb 2018 08:19:02 +0000 (09:19 +0100)]
gl renderer: Check the scale factor for every render
This way we pick up changes in the GdkWindow's scale_factor.
Timm Bäder [Mon, 5 Feb 2018 10:52:32 +0000 (11:52 +0100)]
demo: Remove an expose_event mention
Timm Bäder [Mon, 5 Feb 2018 10:16:25 +0000 (11:16 +0100)]
notebook: Remove another event type check
Just like
3d65019e98dabc0e2f443d981590983e618dda44, but for release
events.
Timm Bäder [Mon, 5 Feb 2018 09:38:37 +0000 (10:38 +0100)]
separatormenuitem: Don't create label widget in get_label
Calling gtk_menu_item_get_label on a GtkSeparatorMenuItem would
otherwise create a GtkLabel child, increasing the vertical size request
to that of the child label.
Matthias Clasen [Mon, 5 Feb 2018 19:34:03 +0000 (20:34 +0100)]
Drop a leftover declaration
The function gdk_add_option_entries does not exist anymore.
Matthias Clasen [Mon, 5 Feb 2018 19:28:15 +0000 (20:28 +0100)]
Make gdk_event_get_history public
This function is meant to be public, but was missing
an annotation in the header.
Matthias Clasen [Mon, 5 Feb 2018 19:26:19 +0000 (20:26 +0100)]
gdk: Drop gdk_x11_window_set_frame_extents
This function is unused and has been deprecated
for a long time.
Matthias Clasen [Mon, 5 Feb 2018 19:24:40 +0000 (20:24 +0100)]
fix the docs build
The GtkPlacesSidebar does not exist anymore in public API.
Matthias Clasen [Mon, 5 Feb 2018 19:13:20 +0000 (20:13 +0100)]
The big versioning cleanup
Remove all the old 2.x and 3.x version annotations.
GTK+ 4 is a new start, and from the perspective of a
GTK+ 4 developer all these APIs have been around since
the beginning.
Matthias Clasen [Mon, 5 Feb 2018 12:56:52 +0000 (13:56 +0100)]
gdk: Add some missing autocleanup definitions
Best to be consistent.
Matthias Clasen [Mon, 5 Feb 2018 12:46:28 +0000 (13:46 +0100)]
gsk: Add autocleanup definitions
This may be useful for applications using render nodes.
Piotr Drąg [Mon, 5 Feb 2018 16:54:21 +0000 (17:54 +0100)]
Update POTFILES.in
Benjamin Otte [Mon, 5 Feb 2018 16:21:46 +0000 (17:21 +0100)]
tests: Make text test have more glyphs
Load random strings from /usr/share/dict/words instead of reusing the
same 10 words all the time. That way, we get closer to the real world
use case of having a full alphabet.
Benjamin Otte [Mon, 5 Feb 2018 16:20:17 +0000 (17:20 +0100)]
cssprovider: Use g_file_load_bytes()
This way, we get a special no-copy case for resources.
https://bugzilla.gnome.org/show_bug.cgi?id=790270
Carlos Garnacho [Mon, 5 Feb 2018 15:10:58 +0000 (16:10 +0100)]
docs: Rename right get_history() call on GDK docs
Obviously gdk_device_get_history() is not the right function to change. To
delete if anything...
Carlos Garnacho [Mon, 5 Feb 2018 14:59:40 +0000 (15:59 +0100)]
gdk: Rename gdk_event_get_history() to get_motion_history()
It only applies to GDK_MOTION_NOTIFY events, so this is a more descriptive
name. Also add Since tag in docs, and GDK_AVAILABLE_IN_3_94.
Emmanuele Bassi [Mon, 5 Feb 2018 14:35:34 +0000 (14:35 +0000)]
build: Fix the non-pkg-config Vulkan detection
Not all the variables were renamed.
Daniel Stone [Wed, 23 Aug 2017 17:53:59 +0000 (18:53 +0100)]
build: Create input method module cache directory
Before running gtk-query-immodules, the cache output directory may not
actually exist. Make sure it does before we try to write into it.
https://bugzilla.gnome.org/show_bug.cgi?id=793182
Signed-off-by: Daniel Stone <daniels@collabora.com>
Emmanuele Bassi [Mon, 5 Feb 2018 11:42:02 +0000 (11:42 +0000)]
build: Use pkg-config to find Vulkan
The standard Vulkan SDK ships with a pkg-config file, like a modern
library should.
We should fall back to finding the library and header only for platforms
where pkg-config is not really a thing.
Based on a patch by: Daniel Stone <daniels@collabora.com>
https://bugzilla.gnome.org/show_bug.cgi?id=793181
Emmanuele Bassi [Mon, 5 Feb 2018 13:52:46 +0000 (13:52 +0000)]
Drop the last mentions of motion hint events
The GDK_POINTER_MOTION_HINT_MASK enumeration value is gone, but we're
still keeping around the "is_hint" field in GdkEventMotion, even though
every backend sets it to `false` — except for the core X11 device
manager.
Matthias Clasen [Mon, 5 Feb 2018 06:49:44 +0000 (07:49 +0100)]
Don't put gdk types into a gsk header
This is a leftover from when GskTexture was moved
to gdk.
Matthias Clasen [Mon, 5 Feb 2018 06:46:01 +0000 (07:46 +0100)]
Drop the mir backend
Mir is in the process of switching over to the Wayland protocol,
so we don't need to maintain a separate backend, going forward.
Piotr Drąg [Sun, 4 Feb 2018 23:37:11 +0000 (00:37 +0100)]
Update Polish translation
Matthias Clasen [Sun, 4 Feb 2018 22:38:15 +0000 (23:38 +0100)]
docs: Remove some leftovers
There were still references to recent chooser and tool palette
types in the docs.
Matthias Clasen [Sun, 4 Feb 2018 22:27:59 +0000 (23:27 +0100)]
Drop threads from the docs
Matthias Clasen [Fri, 2 Feb 2018 16:48:39 +0000 (17:48 +0100)]
Drop gtk_widget_show_now
This function does bad things, and is not an
API that we want to take into GTK+ 4.
Matthias Clasen [Fri, 2 Feb 2018 17:13:36 +0000 (18:13 +0100)]
treeview: Stop using gtk_widget_show_now
If this is a problem, it needs to be handled explicitly.
Matthias Clasen [Fri, 2 Feb 2018 17:13:10 +0000 (18:13 +0100)]
gtk testsuite: Stop using gtk_widget_show_now
If this is a problem, it needs to be handled explicitly.
Matthias Clasen [Fri, 2 Feb 2018 17:12:22 +0000 (18:12 +0100)]
a11y testsuite: Stop using gtk_widget_show_now
On non-windows, this doesn't do anything anyway.
Timm Bäder [Sun, 4 Feb 2018 21:24:44 +0000 (22:24 +0100)]
searchbar: reorganize
Avoid the ugly priv->tool_box==NULL check in ::add (and ::remove) by
just not using template xml for this small class. Also, make sure the
GtkBin child is properly set and implement remove to also properly
remove it. Remove the manual widget margins and add some CSS for it.
Also switch to simply using a GtkCenterBox.
Timm Bäder [Sun, 4 Feb 2018 16:51:18 +0000 (17:51 +0100)]
searchbar: Properly remove child widgets
Since the GtkSearchBar is not the direct parent, we need to remove them
properly from priv->box_center.
Timm Bäder [Sun, 4 Feb 2018 16:14:05 +0000 (17:14 +0100)]
searchbar: Remove unused widgets
both box_left and box_right are unused.
Timm Bäder [Sun, 4 Feb 2018 14:48:47 +0000 (15:48 +0100)]
gdk: fix a format string warning
Timm Bäder [Sun, 4 Feb 2018 14:10:23 +0000 (15:10 +0100)]
glarea: Fix precondition check
and the build.
Timm Bäder [Sat, 3 Feb 2018 22:14:16 +0000 (23:14 +0100)]
roundedrect: Fix coordinate mixup in contains_point
This together with the optimizations in GtkSnapshot was causing circular
buttons to become squared when partially scrolled out of view.
Timm Bäder [Sun, 4 Feb 2018 08:23:11 +0000 (09:23 +0100)]
glarea: Simplify make_current
We only use the widget pointer here once.
Timm Bäder [Sat, 3 Feb 2018 18:35:25 +0000 (19:35 +0100)]
gl renderer: Use a gl texture in render_texture
Get rid of the manual y flipping and cairo business. This keeps the gl
unit tests working at least.
Piotr Drąg [Sat, 3 Feb 2018 19:23:28 +0000 (20:23 +0100)]
Update POTFILES.in
Benjamin Otte [Sat, 3 Feb 2018 15:05:01 +0000 (16:05 +0100)]
rendernode: Don't alloca() 8MB
This happens when deserializing testcases and it really confuses
valgrind into thinking we're longjmp()ing.
And deserializing rendernodes is slow anyway, so who cares about a few
more malloc()s.
Benjamin Otte [Sat, 3 Feb 2018 14:47:41 +0000 (15:47 +0100)]
rbtree: Privatize header
According to meson it's the only private header that doesn't conform to
the *private.h naming.
Fix that.
Emmanuele Bassi [Thu, 1 Feb 2018 16:43:15 +0000 (17:43 +0100)]
Allow binding GdkContentFormatsBuilder
GdkContentFormatsBuilder is currently not introspectable, as it does not
have a GType. We can turn it into a boxed type, but we need to implement
memory management for it.
The current gdk_content_formats_builder_free() function returns a newly
constructed value, so we cannot use it as a GBoxedFreeFunc; additionally
copying a GdkContentFormatsBuilder contents would make it a bit odd, as
you could get multiple identical GdkContentFormats out of the copies.
A simple approach is to model the GdkContentFormatsBuilder API to follow
the GBytes one: use reference counting for memory management, and have
a function to release a reference, return a GdkContentFormats, and reset
the GdkContentFormatsBuilder state.
For language bindings, we can provide a get_formats() function that
returns the GdkContentFormats instance and resets the builder instance,
leaving the reference count untouched.
For C convenience we can keep gdk_content_formats_builder_free(), and
make it a wrapper around gdk_content_formats_builder_get_formats(), with
the guarantee that it'll free the builder instance regardless of its
current reference count.
https://bugzilla.gnome.org/show_bug.cgi?id=793097
https://blogs.gnome.org/otte/2018/02/03/builders/
Timm Bäder [Sat, 3 Feb 2018 12:24:55 +0000 (13:24 +0100)]
gl renderer: Clear resources after render_texture
This makes multiple consecutive render_texture calls on the same
renderer work.
Timm Bäder [Fri, 2 Feb 2018 14:22:22 +0000 (15:22 +0100)]
notebook: Handle touch events for tabs
No need to check for the event type here.
Timm Bäder [Fri, 2 Feb 2018 14:16:18 +0000 (15:16 +0100)]
widget: Remove realized checks from _translate_coordinates
As discussed.
Timm Bäder [Fri, 2 Feb 2018 13:50:17 +0000 (14:50 +0100)]
widget: Don't call snapshot vfunc if width or height are 0
The result won't be visible anyway. This also prevents problems with
widgets that create some resource the size of the widget, like
GtkGLArea. It also keeps us from snapshotting revealers with
size 0.
Timm Bäder [Thu, 1 Feb 2018 08:36:45 +0000 (09:36 +0100)]
iconbrowser: setup image dnd for image6
Otherwise the we fail to set the drag source icon name later on.
Emmanuele Bassi [Fri, 2 Feb 2018 16:02:59 +0000 (17:02 +0100)]
Remove all gdk_threads_* entry points
Now that we don't use them anywhere, it's time for them to go.
https://bugzilla.gnome.org/show_bug.cgi?id=793124
Emmanuele Bassi [Fri, 2 Feb 2018 15:34:40 +0000 (16:34 +0100)]
Drop the Big GDK Lock
GDK has a lock to mark critical sections inside the backends.
Additionally, code that would re-enter into the GTK main loop was
supposed to hold the lock.
Back in the Good Old Days™ this was guaranteed to kind of work only on
the X11 backend, and would cause a neat explosion on any other GDK
backend.
During GTK+ 3.x we deprecated the API to enter and leave the critical
sections, and now we can remove all the internal uses of the lock, since
external API that uses GTK+ 4.x won't be able to hold the GDK lock.
https://bugzilla.gnome.org/show_bug.cgi?id=793124
Emmanuele Bassi [Fri, 2 Feb 2018 14:51:47 +0000 (15:51 +0100)]
Replace gdk_threads_add_timeout* with g_timeout_add()
The main GDK thread lock is not portable and deprecated.
The only reason why gdk_threads_add_timeout() and
gdk_threads_add_timeout_full() exist is to allow invoking a callback
with the GDK lock held, in case 3rd party libraries still use the
deprecated gdk_threads_enter()/gdk_threads_leave() API.
Since we're removing the GDK lock, and we're releasing a new major API,
such code cannot exist any more; this means we can use the GLib API for
installing timeout callbacks.
https://bugzilla.gnome.org/show_bug.cgi?id=793124
Emmanuele Bassi [Fri, 2 Feb 2018 14:08:02 +0000 (15:08 +0100)]
Replace gdk_threads_add_idle* with g_idle_add()
The main GDK thread lock is not portable and deprecated.
The only reason why gdk_threads_add_idle() and
gdk_threads_add_idle_full() exist is to allow invoking a callback with
the GDK lock held, in case 3rd party libraries still use the deprecated
gdk_threads_enter()/gdk_threads_leave() API.
Since we're removing the GDK lock, and we're releasing a new major API,
such code cannot exist any more; this means we can use the GLib API for
installing idle callbacks.
https://bugzilla.gnome.org/show_bug.cgi?id=793124
Benjamin Otte [Sat, 3 Feb 2018 10:52:37 +0000 (11:52 +0100)]
toolpalette: Remove
The widget was basically unmaintained since GTK 3.0 and the only known
user was Glade.
Benjamin Otte [Fri, 2 Feb 2018 17:01:17 +0000 (18:01 +0100)]
gtk: Remove GtkRecentChooser
It's not used any more, recent files are only used by the filtchooser
and that one uses GtkRecentManager directly.
Benjamin Otte [Fri, 2 Feb 2018 14:34:34 +0000 (15:34 +0100)]
tests: Unrealize renderer
Renderers must be unrealized these days.
Benjamin Otte [Fri, 2 Feb 2018 13:58:39 +0000 (14:58 +0100)]
texture: Add sanity checks to constructors
width, height and GL texture ID may not be 0, so return_if_fail() if
they are.
Benjamin Otte [Fri, 2 Feb 2018 13:58:12 +0000 (14:58 +0100)]
texture: Make the texture id a guint
Texture IDs are unsigned, so treat them like that.
Emmanuele Bassi [Fri, 2 Feb 2018 09:13:10 +0000 (10:13 +0100)]
Rename GtkActionMuxer's private header
Follow the naming policy for private headers.
Emmanuele Bassi [Fri, 2 Feb 2018 09:08:41 +0000 (10:08 +0100)]
Rename GtkActionHelper private header
Follow the naming scheme for private headers.
Emmanuele Bassi [Fri, 2 Feb 2018 09:01:47 +0000 (10:01 +0100)]
Split list of sources
We need to have two lists: one, with the list of sources that need to be
introspected; and one with the list of sources that contain only private
symbols.
This reduces the amount of source files that the introspection scanner
needs to traverse, and thus the build time.
Emmanuele Bassi [Thu, 1 Feb 2018 15:13:53 +0000 (16:13 +0100)]
docs: Annotate gdk_keymap_get_display()
Avoid a warning from the introspection scanner.
Emmanuele Bassi [Thu, 1 Feb 2018 15:08:51 +0000 (16:08 +0100)]
Remove unnecessary gtk-doc stanza
The places sidebar is not a publicly documented API, so there's no need
to use a gtk-doc stanza — especially if the syntax of the stanza is
wrong.
Emmanuele Bassi [Thu, 1 Feb 2018 15:05:58 +0000 (16:05 +0100)]
Remove leading underscore from private symbols
There's no need to do that any more, as only explicitly annotated
symbols are exported.
Emmanuele Bassi [Thu, 1 Feb 2018 15:01:38 +0000 (16:01 +0100)]
Rename gtkiconcachevalidator.h
Follow the same convention for private headers as newer parts of GTK.
Emmanuele Bassi [Thu, 1 Feb 2018 14:34:57 +0000 (15:34 +0100)]
Rename gtkiconcache.h
The gtkiconcache.h header is private, so rename it to follow the naming
scheme for private headers.
Emmanuele Bassi [Thu, 1 Feb 2018 14:29:01 +0000 (15:29 +0100)]
Replace boilerplate in GtkIcon
Be a good GObject citizen and use G_DECLARE_FINAL_TYPE instead of
writing the usual GObject boilerplate.
Matthias Clasen [Wed, 31 Jan 2018 16:44:26 +0000 (17:44 +0100)]
iconview: Fix a problem with the previous change
After commit
ffef28a7e8d5ffef7de6a3baccb30b0021b6b0ff,
gtk-icon-browser was spewing critical warnings when
changing sections. Avoid that by respecting the return
value of gtk_tree_model_get_iter.
Benjamin Otte [Sun, 17 Dec 2017 19:40:03 +0000 (20:40 +0100)]
dnd: Remove unused member variable
Benjamin Otte [Sun, 17 Dec 2017 19:36:40 +0000 (20:36 +0100)]
dnd: Move GdkDragProtocol to X11
It's not needed in the generic implementation, so don't have it there.
Benjamin Otte [Sun, 17 Dec 2017 19:29:11 +0000 (20:29 +0100)]
dnd: Remove 2 vfuncs that aren't needed
They're only used inside the X11 backend, and the backend can just call
its own function.
Timm Bäder [Tue, 30 Jan 2018 20:38:23 +0000 (21:38 +0100)]
icon browser: Remove usage of stock-size property
Does not exist anymore.
Timm Bäder [Tue, 30 Jan 2018 09:18:54 +0000 (10:18 +0100)]
Revert "menu: Simplify popup_at_rect"
This reverts commit
a29306cb1e739afaa4a7b31d48c4bec328cfef9e.
Timm Bäder [Tue, 30 Jan 2018 09:13:51 +0000 (10:13 +0100)]
range: Always queue an allocate if the adjustment changed
The slider gets its new size in size-allocate, so we have to do this
even if the range has no origin.
Jason Gerecke [Tue, 10 Oct 2017 16:17:43 +0000 (09:17 -0700)]
wayland: Add support for BTN_STYLUS3
BTN_STYLUS3 is defined by the Linux 4.15 kernel and is sent when the
third button on a stylus is pressed. At the moment, only Wacom's "Pro
Pen 3D" has three stylus buttons. Pressing this button triggers a button
8 event to be sent under X11, so we use the same mapping here.
https://bugzilla.gnome.org/show_bug.cgi?id=790033
Nuclear Sunshine [Tue, 23 Jan 2018 13:49:31 +0000 (13:49 +0000)]
Add AGPL3-only licence to GtkAboutDialog
https://bugzilla.gnome.org/show_bug.cgi?id=792793
Timm Bäder [Sat, 27 Jan 2018 11:19:22 +0000 (12:19 +0100)]
gl: Add test case for clipped cross fade nodes
Timm Bäder [Sat, 27 Jan 2018 11:13:37 +0000 (12:13 +0100)]
gl renderer: Reset clip when drawing offscreen
Just like we reset the scissor test and the viewport, we also can't use
the current clip anymore in this case.
Timm Bäder [Sat, 27 Jan 2018 11:11:49 +0000 (12:11 +0100)]
GskRoundedRect: Fix GSK_ROUNDED_RECT_INIT macro
GskRoundedRect does not have a .rect member, it's 'bounds'. Also,
properly initialize all fields, i.e. all the corners.
Timm Bäder [Sat, 27 Jan 2018 10:02:07 +0000 (11:02 +0100)]
gl renderer: Fix hidpi cairo node rendering
We can't just unconditionally create a larger texture here, since the
incoming cairo surface might have a device scale that doesn't fit our
scale_factor. Instead, look up the surface device scale and use that.
Timm Bäder [Sat, 27 Jan 2018 10:00:59 +0000 (11:00 +0100)]
gl renderer: Make width/height relation more obvious
In add_offscreen_ops, we use the max_x/min_x values for the texture and
viewport width, and the max_y/min_y for the texture and viewport height.
Timm Bäder [Fri, 26 Jan 2018 16:28:25 +0000 (17:28 +0100)]
inspector: Actually call the pick() vfunc when picking
Otherwise, overridden pick vfuncs don't work and we e.g. pick widgets
scrolled away in a viewport.
Timm Bäder [Fri, 26 Jan 2018 14:51:33 +0000 (15:51 +0100)]
entry: Remove unused struct members
Timm Bäder [Wed, 24 Jan 2018 07:44:53 +0000 (08:44 +0100)]
menu: Simplify popup_at_rect
No need to keep a separate current_event variable around, we don't use
it anyway.